//// This code is released under the BSD license.
//using System.Diagnostics.CodeAnalysis;
//namespace PugLib
//{
//    public class Tuple<T1, T2>
//    {
//        public Tuple(T1 first, T2 second)
//        {
//            First = first;
//            Second = second;
//        }

//        public T1 First { get; private set; }
//        public T2 Second { get; private set; }

//        public override string ToString()
//        {
//            return string.Concat(First, ",", Second);
//        }
//    }

//    [SuppressMessage("Microsoft.Design", "CA1005:AvoidExcessiveParametersOnGenericTypes", Justification = "Three is fine here")]
//    public class Tuple<T1, T2, T3>
//    {
//        public Tuple(T1 first, T2 second, T3 third)
//        {
//            First = first;
//            Second = second;
//            Third = third;
//        }

//        public T1 First { get; private set; }
//        public T2 Second { get; private set; }
//        public T3 Third { get; private set; }

//        public override string ToString()
//        {
//            return string.Concat(First, ",", Second, ",", Third);
//        }
//    }
//}